package com.company.project.utils;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 反射类工具类
 *
 * @author xuew
 * @date 2017/11/13
 */
public class ClassUtil {

    /**
     * 循环遍历所有的元素，检测有没有这个名字
     */
    public static boolean isExistFiledInClass(Class clazz,String filed){
        List<Field> fieldList = new ArrayList<>();
        //当父类为null的时候说明到达了最上层的父类(Object类).
        while (clazz != null&& !(clazz instanceof Object)) {
            fieldList.addAll(Arrays.asList(clazz .getDeclaredFields()));
            //得到父类,然后赋给自己
            clazz = clazz.getSuperclass();
        }
        for (Field f : fieldList) {
            if(f.getName().equals(filed))
            {
                return true;
            }
        }
        return false;
    }
}
